曾经有两个图形运算API在PC游戏领域争得火热,一个是Direct3D,另一个是OpenGL。Direct3D晚于OpenGL登场,却可以后发制人成为今天在PC游戏领域上的霸主;OpenGL曾经对Direct3D形成压倒性的优势,但由于开发上的不给力,如今已经转向专业图形领域发展,PC游戏上鲜见踪影。这个局面维持了好长一段时间,直到AMD在发布R9 290X/290显卡的时候才被打破,因为AMD在发布新显卡的同时还拿出了杀手锏级的游戏优化技术,那就是Mantle(地幔),定位与Direct3D、OpenGL相同的新型图形运算API。
概述
Mantle的字面意思是地幔,它与地壳、地核一样同属于地球内部组成的三个同心球体之一。在AMD看来,图形运算系统与地球的组成其实是相似的,位于表层的图形应用程序就是地壳,里层的地核就是GCN架构图形核心,连接两者的图形运算API以及硬件驱动程序则是地幔。因此Mantle的存在就和它的字面意思相同,是为了让图形应用程序与GCN架构图形核心形成软件和硬件上的连接,使得应用程序可以充分发挥GCN架构图形核心的性能。
AMD把Mantle定义为“游戏优化技术”,因此它的诞生显然是剑指游戏优化技术,最直接的对手就是微软的Direct3D。只是Direct3D已经耕耘多年,要论成熟度,Mantle显然不如Direct3D。那么AMD为什么那么有自信,认为游戏厂商会在使用Direct3D之余,还会对Mantle提供支持呢?
实际上,Direct3D虽然有很强的兼容性,但是从整个生态圈来说,却不如Mantle完整。正如地幔也分为上地幔和下地幔两部分,AMD的Mantle实际上也是由两部分组成的,其中“上地幔”是Mantle API,也就是属于图形运算API的级别;“下地幔”则是Mantle Driver,也就是我们常说的AMD Catalyst显卡驱动程序。微软对Direct3D生态圈的控制只能深入到“上地幔”的级别,而“下地幔”和“地核”部分则需要依靠显卡厂商的配合,而且为了兼容更多的设备,Direct3D对新技术和新设备的支持并不能马上到位,有可能让新设备上的特性得不到完全的发挥,从而限制了整套图形运算系统的运行效率。
AMD的Mantle则不同,由于组成“地幔”的Mantle API以及显卡驱动程序乃至“地核”的图形核心都是由AMD一手包办,开发“地壳”级图形应用程序时AMD也有提供全程的支持,因此基于Mantle开发的应用程序可以完全发挥出图形核心的全部性能。而且一旦AMD推出拥有新特性的图形核心时,Mantle API和Mantle Driver可以第一时间提供支持,并且让游戏开发商用上新的图形特性,这点比起更偏向于兼容性的Direct3D来说,确实是一个无可比拟的优势。
此外AMD的Mantle在功能和特性上是完全兼容Direct3D的,因此游戏开发商在使用Mantle开发游戏时,不用担心说Mantle版无法实现Direct3D版的某些特性,而且由于Mantle有很强的硬件针对性,可以比Direct3D更好地发挥出GCN架构图形核心的性能,因此使用Mantle来开发游戏,完全可以做到让高端显卡才能流畅运行的Direct3D游戏,如今只需要中端主流显卡就能有满意的体验。这也是为什么AMD会把Mantle称之为“游戏优化技术”的原因。
游戏应用
现在已经有不少游戏大作提供了Mantle技术的支持,已经发布的包括有《龙腾世纪3:审判》、《植物大战僵尸:花园战争》、《神偷4》、《狙击精英3》、《文明:超越地球》等,还有不少游戏是确定支持Mantle但尚未发布的,按照AMD的说法,他们已经和多家游戏厂商达成合作,未来将会推出更多基于Mantle技术的游戏作品。
测试平台以及相关设置说明
测试平台使用超频至4.0GHz的Core i7-3770K(四核八线程)打造,搭配双通道DDR3-2666内存(实际运行在1600MHz),总容量为8GB(4GB*2),参测显卡共计有8款,包括有GTX 780 Ti/780/760以及R9 290X/290/280X/280/270X等产品,其中只有GTX 760/GTX 780 Ti/R9 290X/R9 290四款显卡为公版产品,其余均为非公版产品,相关的频率参数已经在上表列出。
测试时NVIDIA显卡使用GeForce 344.75 WHQL驱动,AMD显卡则使用Catalyst 14.11.2 Beta驱动,操作系统为Windows 7 SP1 64位版本。参测软件共计有五款,分别是《神偷4》、《文明:超越地球》、《狙击精英3》以及《Star Swarm》,其中前四款为已经发布的游戏作品,《Star Swarm》则是Mantle API的首款测试用演示程序。
测试程序
《Star Swarm Performance Demo》(以下简称《Star Swarm》)是一款采用Nitrous引擎打造的Benchmark程序,原生支持Mantle API以及Direct3D,分别测试两种模式下的系统性能。其测试场景一共有五项,并提供有四种不同级别的画质选择,测试时为我们选用Follow场景以及最高级别的Extreme画质。
Direct3D模式下《Star Swarm》截图
Mantle模式下《Star Swarm》截图
对比Mantle API和Direct3D下的Extreme画质截图在,可以看出两者的画面基本上是没有区别的,毕竟Mantle的作用是在不影响画质的前提下改善系统效率。
《Star Swarm》在推出之后一直有进行更新,不过作为Mantle API的“御用测试工具”,它的更新内容基本上都集中在Mantle模式上,Direct3D模式与Mantle模式之间的帧数差距越拉越大。在现有最新版本的测试中,同一款
AMD显卡在Mantle模式的《Star Swarm》中的平均帧数可以比Direct3D模式下的领先15FPS,例如R9 290X就从50FPS的级别跳升至65FPS级别,提升幅度非常大。
不过从Direct3D的成绩上来看,AMD阵营显卡的表现不是特别理想,不仅R9 290X/290的成绩比GTX 780 Ti/780的落后10FPS,R9 280X/280的成绩甚至不如对手的GTX 760,我们对此进行了重复验证,结果仍然如此。我们只能说在《Star Swarm》中,AMD显卡并不适合Direct3D模式,有更高成绩的Mantle模式才是正确选择。
发展前景
以往的游戏优化技术,大都是在驱动程序或者是游戏画质设置上下功夫,但是无论怎么调教,游戏始终还是基于Direct3D图形API,即便显卡本身可以实现某些特性,让游戏的运行速度更快,但受限于Direct3D,这些特性可能无法完全发挥,毕竟Direct3D要从兼容性方面考虑,无法做到深入硬件的针对性优化。
但是AMD的Mantle不同,诚然其目前仅支持GCN架构的显卡平台,在兼容性上不如Direct3D,不过其可以实现硬件的针对性优化,可以完全发挥出GCN架构的全部特性,提升图形运算系统的整体效能,最大限度地发挥显卡的特性和性能,这点确实是Direct3D无法比拟的优势,也是Mantle有信心可以和Direct3D对抗的资本。
从我们的测试成绩可以看出,AMD的Mantle确实有优化游戏表现的作用,其可以在保持Direct3D版画质水平的同时,在一定程度上提升游戏的帧数表现,让游戏运行更加流畅。对于使用GCN架构显卡的游戏玩家来说,不用升级显卡、不改变游戏画质也能获得更高的游戏帧数,有什么能比这个更具吸引力呢?
值得一提的是,Direct3D以及OpenGL的未来发展方向基本上都是向Mantle靠拢,同样要走深入硬件进行优化的路线,只是要达到Mantle这样的整体掌控却仍然需要一段时间。而且有消息称,Direct3D 12也就是我们常说的DirectX 12最快也要到2015年才会登场,相比现在的Mantle API可能会有一些新的功能,但关键部分还得依靠AMD提供的API,业内甚至还有“DirectX 12本质上就是Mantle”的说法,下一代的OpenGL也就是OpenGL Next也会融入Mantle的技术,因此AMD的Mantle不仅仅是一个图形API或者是游戏优化技术那么简单,它的出现同时也推动了Direct3D和OpenGL的发展。